Present invention relates to a system and method for effecting bi-directional communication between computing systems, and more particularly to a method and system for effecting communications over multiple data channels of different bandwidths wherein the user computer usually sends data over a narrow bandwidth channel and the server returns data over a broad bandwidth channel. The method and system functions in a manner transparent to layers #3 and above of the OSI model while also being transparent to layer #1 and #2.
There are products available for interactive data communications between computing systems by which the users request and receive a large volume of information but generate much less data, as is the usual case of internet navigation and communication. The users typically demand much larger amounts of data, multimedia Web pages for example, than what they themselves generate. The users usually generate just a few mouse clicks and the TCP/IP packet reception acknowledgments in exchange for the multimedia Web pages. This fact has prompted the discussion and implementation of bi-directional communications that are xe2x80x9casymmetricxe2x80x9d regarding the transmission capacities in the two communication directions.
Examples of the aforementioned products are the so called xe2x80x9ccable modemsxe2x80x9d which allow a cable TV subscriber who wishes to navigate (xe2x80x9csurfxe2x80x9d) the Internet, to receive the Internet data at a very fast rate (500 Kbps to 5-10 Mbps) from a cable TV coaxial cable network, while sending the requests to the Internet via a regular telephone line. A similar implementation for high speed asymmetric communications is the system known as DirecPC, from Hughes Corporation, which provides fast Internet navigation using a satellite downlink as a broadband channel and a an interface card which embeds unidirectional high speed modem.
However, standard interactive data transmission protocols such as TCP/IP are devised for dealing with symmetric communications using a single physical communications interface and logical identifier per node (for instance, in TCP/IP the so called xe2x80x9cIP addressxe2x80x9d). The protocols cannot deal with the fact that, for such asymmetric communications, two different transmission media are better suited for the task of bi-directional communication such as a high bandwidth broadcast unidirectional channel from the network server to the user, such as fiber optic, coaxial cable, satellite, microwaves, etc., and a narrowband bi-directional channel from the user to the network such as standard telephone lines. Such communication demands the use of two physical interfaces per node, one for each communication direction, and accordingly, two logical network identifications or IP addresses (in TCP/IP) per node.
Hence, there is a need for an open method and system able to accommodate two communication links in standard data transmission protocols, such as TCP/IP, without altering the interface to the upper levels of the protocols that are more directly linked to user applications such as levels #3 and above in the OSI model. This is necessary to permit any off-the-shelf application software, such as standard Web browsers, to run in a dual path communication environment without modification, and without altering them as well in a noticeable way regarding interfacing to the lower levels that deal with the physical communications, levels #1 and #2, so as to permit using the standard communication protocols dealing with the physical and logical link between two communicating computers.
Accordingly, it is an object of the invention to provide a system and method for bi-directional communication which overcomes the drawbacks of the prior art.
It is a further object of the invention to provide a method and system permitting the use of different transmission media for each direction of communication but a single identification of nodes at layer #3 of the OSI model, through an Integrated Virtual Interface (IVI) that controls two or more physical (or virtual) interfaces in conjunction with a single identification from layer level #3, without modifying the characteristics of the protocol used, permitting the identification of an information processing node through a name or direction independent from the various connection interface identifications.
It is a still further object of the invention to provide a method and system utilizing the OSI model and incorporating a one-way channel as part of a single bi-directional virtual link, as long as there is at least one communication link available for each direction of communication.
It is yet another object of the invention to provide a method and system utilizing the OSI model and permitting a shared one-way broadcast channel to be used for interactive data communications, keeping communication costs down by accommodating in it many simultaneous users who benefit from its high bandwidth, due to the bursty nature of most data communications like Internet surfing.
An object of the present invention is to provide a method and system permitting highly asymmetric data flow with regard to the balance between both communication directions wherein one or more physical links is a broadband channel and one or more physical links is a narrowband channel used for the opposite direction of communication.
Another object of the present invention is to provide a method and system for increasing communication speed and/or reliability by providing communication in any directions which may be split through diverse communication links to increase the available bandwidth and/or the transmission redundancy.
Additionally, an object of the present invention is to provide a method and system for increasing a capacity of a conventional network over a determined physical medium, adding a new transmission medium for one of the communication directions, without any alteration of the original network, the services or the applications of the remote nodes, permitting the reduction in the required capacity in the original network for the same services or even an increase in service capabilities, as a result of diverting the traffic in one of the directions through the new medium.
Yet another object of the present invention is to provide a method and system providing increased communication reliability which in the case of a temporary failure of one physical link, data transmission is switched to another physical link provided there is at least one communication link available for each direction of communication.
It is a further object of the present invention to provide a system and method for using several physical communication paths during a communication session for data transmission between any two computers, in particular computers effecting asymmetric data communications such as Internet traffic, or to provide several parallel communication paths for increasing communication speed or implementing fault tolerant communication links for mission critical communications. An embodiment of the invention uses a combination of a high bandwidth broadcast unidirectional channel from a network server to a user, such as a satellite, microwave or fiber optic link, and narrowband bi-directional channel from the user to the network server, such as a standard telephone, X.25 or Frame relay line.
The present invention provides an apparatus and method for implementing an Integrated Virtual Interface (hereinafter IVI) which permits use of unaltered standard routable data communication protocols, such as TCP/IP, for multipath communications, wherein the standard data communications protocols are not configured for multipath communication, thus ensuring compatibility with existing application software and operating systems.
In accordance with an embodiment of the present invention, a computer system is configured by an IVI program inserted between the OSI model sub-layers #2.1 (Media Access Control sub-layer) and #2.2 (Logical Link Control sub-layer), which provides a switching service at layer level #3 (network level, called xe2x80x9cIP levelxe2x80x9d in communications using protocol such as TCP/IP) for several different physical interfaces optionally used for incoming and/or outgoing data and which is transparent to layer #3 operation. The IVI program passes incoming data, from a given real physical interface and a corresponding real NIC (Network Interface Card) to a real transport driver. The IVI program also passes outgoing data, to be transmitted through a different real NIC and physical interface, through a reverse path from a real transport driver to the different real NIC and physical interface (usually different from the incoming data physical interface) to the different real NIC. The IVI program thus functions as a (virtual) bi-directional interface that integrates several communication paths for data transmission and switches the data to the desired physical and logical path in a manner transparent to a remainder of communication protocol layers.
In accordance with these and other objects of the invention, there is provided an apparatus for executing bi-directional communication with another apparatus wherein the apparatus has a processor and memory and the apparatus is configured to execute operations in accordance with the ISO OSI model for data communications including network layer means for executing a network layer set of operations for communicating over a single physical link having a unique address and a data link layer means for executing a set of data link operations in response to the operations of the network layer means, each in accordance with the ISO OSI model, the apparatus comprising: a first network interface card for communicating data over a first physical link connected with the another apparatus in a first direction to the another apparatus; the data link layer means including a first data link driver means for controlling the first network interface card; a second network interface card for communicating data over a second physical link connected with the another apparatus in a second direction from the another apparatus; the data link layer means including a second data link driver means for controlling the second network interface card; first interfacing means for receiving output data from the operations of the network layer means to be transmitted in the first direction associated with the unique address and for controlling the data link layer means to effect transmission of the output data via the first network interface card; and second interfacing means for receiving input data from the operations of the data link layer means which is transmitted in the second direction and received by the second network interface card for transferring the input data to the operations of the network layer means in association with the unique address.
The present invention also provides an apparatus for executing bi-directional communication with another apparatus wherein the apparatus has a processor and memory and the apparatus is configured to execute operations in accordance with the ISO OSI model for data communications including network layer means for executing a network layer set of operations for communicating over a single physical link having a unique address and a data link layer means for executing a set of data link operations in response to the operations of the network layer means, the data link layer means including a logical link controller means for performing logical link operations and a media access control means for performing media access operations which are configured to interface with each other, each in accordance with the ISO OSI model, the apparatus comprising: a first network interface card for communicating data over a first physical link connected with the another apparatus in a first direction to the another apparatus; the media access control means including a first data link driver means for controlling the first network interface card; a second network interface card for communicating data over a second physical link connected with the another apparatus in a second direction from the another apparatus; the media access control means including a second data link driver means for controlling the second network interface card; intermediate interfacing means for interfacing with the logical link controller means in place of the media access control means and exchanging data in association with the unique address, and for interfacing with the first and second data link driver means and exchanging the data with the first and second data link driver means in association with respective ones of the first and second real addresses such that the logical link controller means performs logical link operations associated only with the unique address.
According to a feature of the invention, there is further provided the first network interface card including means for performing bi-directional communications over the first physical link; initiation means for initiating bi-directional communication with the another apparatus via the first network interface card and instructing the another apparatus to initiate communication via the second physical link and the second network interface card; and communication control means, responsive to establishment of the communication via the second physical link and the second network interface card, for conducting uni-directional communication sending data to the another apparatus using the first network interface card.
According to yet another feature of the invention, there is further provided backup means for reestablishing bi-directional communication with the another apparatus using the first network interface card and the first physical link when the communication via the second physical link and the second network interface card fails.
The present invention also provides an apparatus for executing bi-directional communication with another apparatus wherein the apparatus has a processor and memory and the apparatus is configured to execute operations in accordance with the ISO OSI model for data communications including network layer means for executing a network layer set of operations for communicating over a single physical link having a unique address and a data link layer means for executing a set of data link operations in response to the operations of the network layer means, the data link layer means including a logical link controller means for performing logical link operations and a media access control means for performing media access operations which are configured to interface with each other, each in accordance with the ISO OSI model, the apparatus comprising: a first network interface card for communicating data over a first physical link connected with the another apparatus in a first direction to the another apparatus; the media access control means including a first data link driver means for controlling the first network interface card; a second network interface card for communicating data over a second physical link connected with the another apparatus in a second direction from the another apparatus; the media access control means including a second data link driver means for controlling the second network interface card; first intermediate interfacing means for interfacing with the logical link controller means in place of the media access control means and exchanging data in association with the unique address; and second intermediate interfacing means for interfacing with the first and second data link driver means and exchanging the data with the first and second data link driver means, the second intermediate interfacing means including means for interfacing with the first intermediate interfacing means.
The present invention also provides an apparatus for executing bi-directional communication with another apparatus wherein the apparatus has a processor and memory and the apparatus is configured to execute operations in accordance with the ISO OSI model for data communications including network layer means for executing a network layer set of operations for communicating over a single physical link having a unique address and a data link layer means for executing a set of data link operations in response to the operations of the network layer means, the data link layer means including a logical link controller means for performing logical link operations having a lower 2.2 sublayer interface and the data link layer means including a media access control means for performing media access operations having an upper 2.1 sublayer interface, each in accordance with the ISO OSI model, the apparatus comprising: a first network interface card for communicating data over a first physical link connected with the another apparatus in a first direction to the another apparatus; the media access control means including a first data link driver means for controlling the first network interface card; a second network interface card for communicating data over a second physical link connected with the another apparatus in a second direction from the another apparatus; the media access control means including a second data link driver means for controlling the second network interface card; first intermediate interfacing means having an upper 2.1 sublayer interface for interfacing with the lower 2.2 sublayer interface of the logical link controller means in place of the media access control means and exchanging data in association with the unique address; and second intermediate interfacing means having a lower 2.2 sublayer interface for interfacing with the upper 2.1 sublayer interface of the media access control means to communicate with the first and second data link driver means and exchange the data with the first and second data link driver means in association with respective ones of the first and second real addresses, the second intermediate interfacing means including means for interfacing with the first intermediate interfacing means.
The above, and other objects, features and advantages of the present invention will become apparent from the following description read in conjunction with the accompanying drawings, in which like reference numerals designate the same elements.